Mathematical functions, such as square root, logarithm, exponential, etc., elementary functions, and special functions are typically used in high-performance computing, scientific computing, financial applications, and machine learning. Overall application performance of computer processing hardware often depends upon mathematical functions, making accelerated mathematical libraries, such as IBM MASS (Mathematical Acceleration Subsystem), an important factor in achieving high performance processing systems.
Two types of hardware instructions, such as a lookup instruction and an extended fused multiply add (fmaX) instruction, enable suitable algorithms when computing a variety of mathematical functions. Typically, these instructions are performed in a monolithic fashion. However, to perform these instructions in a monolithic fashion, a processor requires a larger chip area and the opportunity for pipelining the instructions and resulting functional parallelism is reduced. Moreover, functional verification of these hardware instructions is expensive as there are numerous inputs to be tested.